package com.xiaoyu.base.utils;

import java.util.List;

import in.srain.cube.request.JsonData;
import io.reactivex.functions.BiFunction;
import io.reactivex.functions.Function;

public class JsonUtil {

    public static <T> List<T> convertToList(JsonData jsonData, Function<JsonData, T> mapper) {
        return ListUtil.convertToList(jsonData.toList(), mapper);
    }

    public static <E, T> List<T> convertAsList(JsonData jsonData, Function<E, T> mapper) {
        return ListUtil.convertToList(jsonData.asList(), mapper);
    }

    public static <E, T> List<T> convertAsListWithIndex(JsonData jsonData, BiFunction<E, Integer, T> mapper) {
        return ListUtil.convertToListWithIndex(jsonData.asList(), mapper);
    }

    public static <T> List<T> convertToListWithIndex(JsonData jsonData, BiFunction<JsonData, Integer, T> mapper) {
        return ListUtil.convertListWithIndex(jsonData.toList(), mapper);
    }
}
